home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 8 / FM Towns Free Software Collection 8.iso / fb386 / senga / senga.bas next >
BASIC Source File  |  1994-06-01  |  2KB  |  50 lines

  1. 1000 '////////////////////////////////////////////////////
  2. 1010 '////////////      線画 の エディタ     ////////////
  3. 1020 '//////////////////////////////////////////////////
  4. 1030 SCREEN @1:CLS:DEFINT A-Z:ON ERROR GOTO 1350
  5. 1040 DM=200  '*********************** 適当な大きさに変えてください。
  6. 1050 DIM XY(DM)
  7. 1060 LOCATE 60,0:COLOR 6:PRINT "セーブはSキーです。"
  8. 1070 MOUSE 0:MOUSE 1,0,0,1
  9. 1080 BX=MOUSE(0):BY=MOUSE(1)
  10. 1090 IF MOUSE(2,1)=-1 THEN PSET(BX,BY),2:XY(I)=BX:I=I+1:XY(I)=BY:ST=1:ELSE 1080 
  11. 1100 '/////////////////////////////////////////////////
  12. 1110 BX=MOUSE(0):BY=MOUSE(1):K$=INKEY$
  13. 1120 LINE (XY(I-1),XY(I))-(BX,BY),XOR,7
  14. 1130 LINE (XY(I-1),XY(I))-(BX,BY),XOR,7
  15. 1140 LOCATE 5,0:PRINT I:LOCATE 20,0:PRINT BX,BY
  16. 1150 IF MOUSE(2,0)=-1 AND ST=0 THEN LINE (XY(I-1),XY(I))-(BX,BY),PSET,7:I=I+1:XY(I)=BX:I=I+1:XY(I)=BY:ST=1
  17. 1160 IF MOUSE(2,0)=0 AND MOUSE(2,1)=0 THEN ST=0
  18. 1170 IF K$=" " AND I>2 THEN LINE (XY(I-1),XY(I))-(BX,BY),PSET,0:LINE (XY(I-3),XY(I-2))-(XY(I-1),XY(I)),PSET,0:I=I-2:BEEP
  19. 1180 IF MOUSE(2,1)=-1 AND ST=0 THEN LINE (XY(I-1),XY(I))-(BX,BY),PSET,0:PSET(BX,BY),2:I=I+1:XY(I)=BX:I=I+1:XY(I)=BY:ST=1
  20. 1190 IF K$="S" OR K$="s" THEN 1220
  21. 1200 IF I<DM-2 THEN GOTO 1110 ELSE PRINT "もう終わり";:WAIT 100
  22. 1210 '////////////////////////////////////////////////
  23. 1220 S=10000
  24. 1230 LOCATE 7,23:INPUT "FILENAMEを入力してください。";F$
  25. 1240 LOCATE 0,23:PRINT SPC(80);
  26. 1250 LOCATE 7,23:PRINT "準備はよろしいですか?(Y/N)";SPC(45);
  27. 1260 I$=INKEY$
  28. 1270  IF I$="N" OR I$="n" THEN LOCATE 0,23:PRINT SPC(80);:GOTO 1110
  29. 1280  IF I$<>"Y" AND I$<>"y" THEN 1260
  30. 1290 LOCATE 7,23:PRINT "実行しています。";SPC(25)
  31. 1300 OPEN "O",1,F$
  32. 1310 FOR J=0 TO DM/10-1:I=J*10
  33. 1320 PRINT#1,USING "##### DATA ###_,###_,###_,###_,###_,###_,###_,###_,###_,###";S;XY(I);XY(I+1);XY(I+2);XY(I+3);XY(I+4);XY(I+5);XY(I+6);XY(I+7);XY(I+8);XY(I+9)
  34. 1330 S=S+10:NEXT J
  35. 1340 CLOSE 1:END
  36. 1350 IF ERL=1300 AND ERR=64 THEN LOCATE 7,23:PRINT "同じファイルがあります消して保存しますか? (Y/N)";
  37. 1360 S$=INPUT$(1)
  38. 1370 LOCATE 7,23:PRINT SPC(60);
  39. 1380 IF S$<>"Y" AND S$<>"y" THEN CLOSE 1: RESUME 1230
  40. 1390 KILL F$
  41. 1400 RESUME
  42. 1410 '************   描いた線の確認
  43. 1420 SCREEN @1:CLS:DM=200 '****** DMの値は1040行と同じにしてください。
  44. 1430 DIM XY(DM)
  45. 1440 FOR I=0 TO 198:READ XY(I):NEXT
  46. 1450 PSET(XY(0),XY(1)),7
  47. 1460 WHILE S<=196
  48. 1470 S=S+2:IF XY(S)=0 AND XY(S+1)=0 THEN END ELSE LINE -(XY(S),XY(S+1)),PSET,7
  49. 1480 WEND:END
  50.